"""
1.is 与==的区别？
== 判断值是否相等
is 比较的是内存地址是否相等
id()---->显示变量的内存地址
2.深拷贝与浅拷贝的区别？
浅拷贝：来自copy模块的copy方法，只拷贝对象的第一层，不拷贝对象内部的子对象
深拷贝：来自copy模块的deepcopy方法,拷贝对象的所有数据，包括子对象
=：是赋值，把值跟内存地址一起给新的变量(了解)
3.有没有写过排序算法？
    写过
冒泡排序是一种最基础的交换排序，是将列表中的相邻元素，
从左到右依次进行比较，较大的往右移，比较完后列表中最后一个元素就是最大的，
除去这个元素，从剩下的列表中再重复以上操作，直到所有元素排序完成。
"""

# 1.
a = 1
b = 2
# 获取a的内存地址
print(id(a))

print(a is b)
# 2.
import copy

list1 = [1, 2, 3, ["张三", "李四", "王五"]]
print("修改前list1:", list1)
list2 = copy.copy(list1)
list2[3][0] = "张飞"
print("修改前list2:", list2)
print("修改后list1:", list1)

# 冒泡排序
list1 = [1, 34, 5, 6, 7, 8, 24]
# 外层循环 长度-1
# 内层循环 长度-1-外层变量名         leedcode
# 在内层循环中相邻的元素做比较
l = len(list1)
for a in range(l - 1):  # l
    for b in range(l - 1 - a):  # l-1
        if list1[b] > list1[b + 1]:
            list1[b], list1[b + 1] = list1[b + 1], list1[b]
print(list1)
